Install YOLOv8¶
In [27]:
!pip uninstall ultralytics
^C
Check Ultralytics YOLOv8, Python, PyTorch, and other resources Version
In [1]:
import ultralytics
ultralytics.checks()
Ultralytics YOLOv8.0.74 Python-3.7.0 torch-1.8.0 CUDA:0 (Quadro M2200, 4096MiB) Setup complete (8 CPUs, 31.9 GB RAM, 176.5/405.0 GB disk)
1. Import Dependencies¶
In [2]:
import torch
from matplotlib import pyplot as plt
import numpy as np
import cv2
from ultralytics import YOLO
from IPython.display import display, Image
2. Load Model¶
In [3]:
model = YOLO("yolov8n.pt") # load a pretrained model (recommended for training)
Downloading https:\github.com\ultralytics\assets\releases\download\v0.0.0\yolov8n.pt to yolov8n.pt... 100%|█████████████████████████████████████████████████████████████████████████████| 6.23M/6.23M [00:04<00:00, 1.63MB/s]
3. Make Detections with Images¶
In [4]:
img ='b3c939e3-61fb6427.jpg'
In [11]:
results = model.predict(source=img, conf=0.4 , show = True )
print(len(results))
for result in results:
boxes = result.boxes # Boxes object for bbox outputs
masks = result.masks # Masks object for segmentation masks outputs
probs = result.probs # Class probabilities for classification outputs
cv2.waitKey(50000)
cv2.destroyAllWindows()
image 1/1 I:\Proposel\CV\CUSTOM_VEHICLE_DETECTION\using_yolo\b3c939e3-61fb6427.jpg: 384x640 5 cars, 1 truck, 105.4ms Speed: 2.0ms preprocess, 105.4ms inference, 15.6ms postprocess per image at shape (1, 3, 640, 640)
1
Get The BBOXES from results
In [12]:
bboxes = results[0].boxes.xyxy.tolist() # you can get any formate result.boxes.... 'xyxy,xywh,...'
print(bboxes)
[[805.1990966796875, 328.384033203125, 1032.1099853515625, 462.6634521484375], [467.4495849609375, 343.381591796875, 526.3569946289062, 381.6923828125], [1127.35302734375, 386.7113952636719, 1279.4169921875, 625.218994140625], [290.49456787109375, 317.7579650878906, 456.86248779296875, 430.4935607910156], [546.7669067382812, 323.8533935546875, 653.5784301757812, 420.2071533203125], [290.415283203125, 317.9871826171875, 456.85498046875, 430.7884521484375]]
With Matplotlib
In [13]:
import matplotlib.pyplot as plt
import matplotlib.patches as patches
%matplotlib inline
image = plt.imread(img)
# Create a figure and axis
fig, ax = plt.subplots()
ax.imshow(image)
# Loop over the bboxes and draw them on the image
for bbox in bboxes:
x1, y1, x2, y2 = bbox
rect = patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth=1, edgecolor='r', facecolor='none')
ax.add_patch(rect)
# Show the image with bboxes
plt.show()
With Open CV
In [8]:
# Load the image
image = cv2.imread(img)
# Convert the image tensor to a numpy array
image = np.array(image)
# Loop over the bboxes and draw them on the image
for bbox in bboxes:
x1, y1, x2, y2 = bbox
x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) # convert bbox coordinates to integers
image = cv2.rectangle(image, (x1, y1), (x2, y2), (0, 0,255), 1) # draw bbox on the image
# Display the image with bboxes
cv2.imshow('Image with Bboxes', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
4. Real Time Detections¶
In [9]:
cap = cv2.VideoCapture('video11.mp4')
screen_width = 640
screen_height = 480
while cap.isOpened():
ret, frame = cap.read()
frame = cv2.resize(frame, (screen_width, screen_height))
# Make detections
results = model.predict(source=frame, conf=0.25,show = True) # You can disable show = False
bboxes = results[0].boxes.xyxy.tolist() # you can get any formate result.boxes.... 'xyxy,xywh,...'
# Loop over the bboxes and draw them on the image
for bbox in bboxes:
x1, y1, x2, y2 = bbox
x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) # convert bbox coordinates to integers
frame = cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 0,255), 1) # draw bbox on the image
cv2.imshow('YOLO', frame)
if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
0: 480x640 6 cars, 146.5ms Speed: 9.5ms preprocess, 146.5ms inference, 4.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 7 cars, 29.4ms Speed: 1.0ms preprocess, 29.4ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 28.9ms Speed: 12.9ms preprocess, 28.9ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 29.7ms Speed: 0.0ms preprocess, 29.7ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 38.4ms Speed: 0.0ms preprocess, 38.4ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 1 bench, 38.3ms Speed: 0.0ms preprocess, 38.3ms inference, 3.1ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 38.7ms Speed: 0.0ms preprocess, 38.7ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 7 cars, 33.9ms Speed: 0.0ms preprocess, 33.9ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 35.9ms Speed: 0.0ms preprocess, 35.9ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 30.3ms Speed: 0.0ms preprocess, 30.3ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 31.1ms Speed: 0.0ms preprocess, 31.1ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 33.7ms Speed: 0.0ms preprocess, 33.7ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 1 person, 5 cars, 30.4ms Speed: 0.0ms preprocess, 30.4ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 7 cars, 30.1ms Speed: 0.0ms preprocess, 30.1ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 30.0ms Speed: 0.0ms preprocess, 30.0ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 1 bird, 30.7ms Speed: 0.0ms preprocess, 30.7ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 29.4ms Speed: 0.0ms preprocess, 29.4ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 29.4ms Speed: 0.0ms preprocess, 29.4ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 34.0ms Speed: 0.0ms preprocess, 34.0ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 34.4ms Speed: 0.0ms preprocess, 34.4ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 35.0ms Speed: 0.0ms preprocess, 35.0ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 33.9ms Speed: 0.0ms preprocess, 33.9ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 31.6ms Speed: 0.0ms preprocess, 31.6ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 31.3ms Speed: 0.0ms preprocess, 31.3ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 36.0ms Speed: 0.0ms preprocess, 36.0ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 33.0ms Speed: 0.0ms preprocess, 33.0ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 30.6ms Speed: 0.0ms preprocess, 30.6ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 30.5ms Speed: 0.0ms preprocess, 30.5ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 140.0ms Speed: 0.0ms preprocess, 140.0ms inference, 0.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 1 person, 6 cars, 83.0ms Speed: 0.0ms preprocess, 83.0ms inference, 0.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 1 person, 5 cars, 38.4ms Speed: 0.0ms preprocess, 38.4ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 34.2ms Speed: 0.0ms preprocess, 34.2ms inference, 2.9ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 34.0ms Speed: 0.0ms preprocess, 34.0ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 33.7ms Speed: 0.0ms preprocess, 33.7ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 32.6ms Speed: 0.0ms preprocess, 32.6ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 22.6ms Speed: 1.0ms preprocess, 22.6ms inference, 0.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 36.3ms Speed: 0.0ms preprocess, 36.3ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 30.9ms Speed: 0.0ms preprocess, 30.9ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 31.8ms Speed: 0.0ms preprocess, 31.8ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 1 person, 3 cars, 31.0ms Speed: 0.0ms preprocess, 31.0ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 30.7ms Speed: 0.0ms preprocess, 30.7ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 32.9ms Speed: 0.0ms preprocess, 32.9ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 31.4ms Speed: 0.0ms preprocess, 31.4ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 29.6ms Speed: 0.0ms preprocess, 29.6ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 1 person, 5 cars, 1 truck, 32.1ms Speed: 0.0ms preprocess, 32.1ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 2 persons, 4 cars, 33.0ms Speed: 0.0ms preprocess, 33.0ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 1 person, 5 cars, 30.6ms Speed: 0.0ms preprocess, 30.6ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 2 persons, 5 cars, 30.7ms Speed: 0.0ms preprocess, 30.7ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 2 persons, 6 cars, 31.0ms Speed: 0.0ms preprocess, 31.0ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 1 person, 4 cars, 32.9ms Speed: 0.0ms preprocess, 32.9ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 2 clocks, 29.8ms Speed: 0.0ms preprocess, 29.8ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 31.8ms Speed: 0.0ms preprocess, 31.8ms inference, 2.2ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 28.1ms Speed: 0.0ms preprocess, 28.1ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 29.9ms Speed: 0.0ms preprocess, 29.9ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 28.0ms Speed: 0.0ms preprocess, 28.0ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 32.6ms Speed: 0.0ms preprocess, 32.6ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 32.1ms Speed: 0.0ms preprocess, 32.1ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 23.8ms Speed: 0.0ms preprocess, 23.8ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 24.6ms Speed: 11.0ms preprocess, 24.6ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 33.0ms Speed: 0.0ms preprocess, 33.0ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 31.4ms Speed: 0.0ms preprocess, 31.4ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 28.0ms Speed: 0.0ms preprocess, 28.0ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 32.4ms Speed: 0.0ms preprocess, 32.4ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 31.9ms Speed: 0.0ms preprocess, 31.9ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 29.4ms Speed: 0.0ms preprocess, 29.4ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640)
0: 480x640 3 cars, 31.3ms Speed: 0.0ms preprocess, 31.3ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 31.0ms Speed: 0.0ms preprocess, 31.0ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 14.9ms Speed: 0.0ms preprocess, 14.9ms inference, 15.7ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 23.5ms Speed: 0.0ms preprocess, 23.5ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 22.6ms Speed: 1.0ms preprocess, 22.6ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 22.5ms Speed: 1.0ms preprocess, 22.5ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 17.3ms Speed: 0.0ms preprocess, 17.3ms inference, 14.6ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 22.7ms Speed: 10.7ms preprocess, 22.7ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 30.9ms Speed: 0.0ms preprocess, 30.9ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 30.2ms Speed: 0.0ms preprocess, 30.2ms inference, 3.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 16.6ms Speed: 0.0ms preprocess, 16.6ms inference, 14.2ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 32.9ms Speed: 0.0ms preprocess, 32.9ms inference, 2.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 17.2ms Speed: 0.0ms preprocess, 17.2ms inference, 0.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 1 airplane, 17.0ms Speed: 0.0ms preprocess, 17.0ms inference, 13.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 4 cars, 16.9ms Speed: 0.0ms preprocess, 16.9ms inference, 14.0ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 6 cars, 16.8ms Speed: 0.0ms preprocess, 16.8ms inference, 15.4ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 3 cars, 17.0ms Speed: 0.0ms preprocess, 17.0ms inference, 14.8ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 5 cars, 11.5ms Speed: 0.0ms preprocess, 11.5ms inference, 15.3ms postprocess per image at shape (1, 3, 640, 640) 0: 480x640 7 cars, 17.6ms Speed: 0.0ms preprocess, 17.6ms inference, 13.5ms postprocess per image at shape (1, 3, 640, 640)
5. Train from scratch¶
Custom Training¶
Option 1: (recommended)
In [12]:
model = YOLO('yolov8n.pt') # pass any model type
model.train(epochs=5,data= 'datasets\\dataset.yaml',imgsz=320,batch=16)
Ultralytics YOLOv8.0.74 Python-3.7.0 torch-1.8.0 CUDA:0 (Quadro M2200, 4096MiB) yolo\engine\trainer: task=detect, mode=train, model=yolov8n.pt, data=datasets\dataset.yaml, epochs=5, patience=50, batch=16, imgsz=320, save=True, save_period=-1, cache=False, device=None, workers=8, project=None, name=None, exist_ok=False, pretrained=False, optimizer=SGD, verbose=True, seed=0, deterministic=True, single_cls=False, image_weights=False, rect=False, cos_lr=False, close_mosaic=0, resume=False, amp=True, overlap_mask=True, mask_ratio=4, dropout=0.0, val=True, split=val, save_json=False, save_hybrid=False, conf=None, iou=0.7, max_det=300, half=False, dnn=False, plots=True, source=None, show=False, save_txt=False, save_conf=False, save_crop=False, show_labels=True, show_conf=True, vid_stride=1, line_thickness=3, visualize=False, augment=False, agnostic_nms=False, classes=None, retina_masks=False, boxes=True, format=torchscript, keras=False, optimize=False, int8=False, dynamic=False, simplify=False, opset=None, workspace=4, nms=False, lr0=0.01, lrf=0.01, momentum=0.937, weight_decay=0.0005, warmup_epochs=3.0, warmup_momentum=0.8, warmup_bias_lr=0.1, box=7.5, cls=0.5, dfl=1.5, pose=12.0, kobj=1.0, label_smoothing=0.0, nbs=64, hsv_h=0.015, hsv_s=0.7, hsv_v=0.4, degrees=0.0, translate=0.1, scale=0.5, shear=0.0, perspective=0.0, flipud=0.0, fliplr=0.5, mosaic=1.0, mixup=0.0, copy_paste=0.0, cfg=None, v5loader=False, tracker=botsort.yaml, save_dir=runs\detect\train9 Overriding model.yaml nc=80 with nc=3 from n params module arguments 0 -1 1 464 ultralytics.nn.modules.Conv [3, 16, 3, 2] 1 -1 1 4672 ultralytics.nn.modules.Conv [16, 32, 3, 2] 2 -1 1 7360 ultralytics.nn.modules.C2f [32, 32, 1, True] 3 -1 1 18560 ultralytics.nn.modules.Conv [32, 64, 3, 2] 4 -1 2 49664 ultralytics.nn.modules.C2f [64, 64, 2, True] 5 -1 1 73984 ultralytics.nn.modules.Conv [64, 128, 3, 2] 6 -1 2 197632 ultralytics.nn.modules.C2f [128, 128, 2, True] 7 -1 1 295424 ultralytics.nn.modules.Conv [128, 256, 3, 2] 8 -1 1 460288 ultralytics.nn.modules.C2f [256, 256, 1, True] 9 -1 1 164608 ultralytics.nn.modules.SPPF [256, 256, 5] 10 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] 11 [-1, 6] 1 0 ultralytics.nn.modules.Concat [1] 12 -1 1 148224 ultralytics.nn.modules.C2f [384, 128, 1] 13 -1 1 0 torch.nn.modules.upsampling.Upsample [None, 2, 'nearest'] 14 [-1, 4] 1 0 ultralytics.nn.modules.Concat [1] 15 -1 1 37248 ultralytics.nn.modules.C2f [192, 64, 1] 16 -1 1 36992 ultralytics.nn.modules.Conv [64, 64, 3, 2] 17 [-1, 12] 1 0 ultralytics.nn.modules.Concat [1] 18 -1 1 123648 ultralytics.nn.modules.C2f [192, 128, 1] 19 -1 1 147712 ultralytics.nn.modules.Conv [128, 128, 3, 2] 20 [-1, 9] 1 0 ultralytics.nn.modules.Concat [1] 21 -1 1 493056 ultralytics.nn.modules.C2f [384, 256, 1] 22 [15, 18, 21] 1 751897 ultralytics.nn.modules.Detect [3, [64, 128, 256]] Model summary: 225 layers, 3011433 parameters, 3011417 gradients, 8.2 GFLOPs Transferred 319/355 items from pretrained weights TensorBoard: Start with 'tensorboard --logdir runs\detect\train9', view at http://localhost:6006/ AMP: running Automatic Mixed Precision (AMP) checks with YOLOv8n... AMP: checks passed optimizer: SGD(lr=0.01) with parameter groups 57 weight(decay=0.0), 64 weight(decay=0.0005), 63 bias train: Scanning I:\Proposel\CV\CUSTOM_VEHICLE_DETECTION\using_yolo\YOLOv8\datasets\datasets\train\labels... 5000 images train: New cache created: I:\Proposel\CV\CUSTOM_VEHICLE_DETECTION\using_yolo\YOLOv8\datasets\datasets\train\labels.cache val: Scanning I:\Proposel\CV\CUSTOM_VEHICLE_DETECTION\using_yolo\YOLOv8\datasets\datasets\val\labels... 1000 images, 0 val: New cache created: I:\Proposel\CV\CUSTOM_VEHICLE_DETECTION\using_yolo\YOLOv8\datasets\datasets\val\labels.cache Plotting labels to runs\detect\train9\labels.jpg... Image sizes 320 train, 320 val Using 8 dataloader workers Logging results to runs\detect\train9 Starting training for 5 epochs... Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 1/5 0.799G 1.57 1.754 1.082 133 320: 100%|██████████| 313/313 [01:29<00:00, Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 32/32 [00:11 all 1000 10692 0.346 0.19 0.168 0.0997 Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 2/5 0.801G 1.502 1.155 1.03 148 320: 100%|██████████| 313/313 [01:26<00:00, Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 32/32 [00:11 all 1000 10692 0.394 0.239 0.221 0.138 Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 3/5 0.803G 1.486 1.102 1.031 103 320: 100%|██████████| 313/313 [01:25<00:00, Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 32/32 [00:11 all 1000 10692 0.384 0.263 0.242 0.149 Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 4/5 0.801G 1.452 1.051 1.015 181 320: 100%|██████████| 313/313 [01:25<00:00, Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 32/32 [00:11 all 1000 10692 0.45 0.287 0.268 0.17 Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 5/5 0.799G 1.41 1.004 1 173 320: 100%|██████████| 313/313 [01:25<00:00, Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 32/32 [00:15 all 1000 10692 0.495 0.26 0.264 0.164 5 epochs completed in 0.139 hours. Optimizer stripped from runs\detect\train9\weights\last.pt, 6.2MB Optimizer stripped from runs\detect\train9\weights\best.pt, 6.2MB Validating runs\detect\train9\weights\best.pt... Ultralytics YOLOv8.0.74 Python-3.7.0 torch-1.8.0 CUDA:0 (Quadro M2200, 4096MiB) Model summary (fused): 168 layers, 3006233 parameters, 0 gradients, 8.1 GFLOPs Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 32/32 [00:14 all 1000 10692 0.447 0.287 0.268 0.169 car 1000 10151 0.54 0.426 0.425 0.243 bus 1000 149 0.35 0.262 0.2 0.147
truck 1000 392 0.451 0.173 0.18 0.119
Speed: 0.1ms preprocess, 2.7ms inference, 0.0ms loss, 1.7ms postprocess per image
Results saved to runs\detect\train9
Option 2 : CLI
In [ ]:
# !yolo task=detect mode=train model=yolov8n.pt data= datasets/data.yaml epochs=5 imgsz=320 plots=True batch=16 workers 2
In [14]:
Image(filename='runs/detect/train9/confusion_matrix.png', width=600)
Out[14]:
In [15]:
Image(filename='runs/detect/train9/results.png', width=600)
Out[15]:
In [16]:
Image(filename='runs/detect/train9/val_batch0_pred.jpg', width=600)
Out[16]:
Validate Custom Model¶
By default, While we train our model it validates itself using the VAL dataset as there is a default parameter called 'val=True', so there is no need to revalidate it again
Option 1: (recommended)
In [18]:
# Load a model
model = YOLO('runs/detect/train9/weights/best.pt') # load a custom model
# Validate the model
metrics = model.val()
metrics.box.map # map50-95
metrics.box.map50 # map50
metrics.box.map75 # map75
metrics.box.maps # a list contains map50-95 of each category
Ultralytics YOLOv8.0.74 Python-3.7.0 torch-1.8.0 CUDA:0 (Quadro M2200, 4096MiB) Model summary (fused): 168 layers, 3006233 parameters, 0 gradients, 8.1 GFLOPs val: Scanning I:\Proposel\CV\CUSTOM_VEHICLE_DETECTION\using_yolo\YOLOv8\datasets\datasets\val\labels.cache... 1000 imag Class Images Instances Box(P R mAP50 mAP50-95): 100%|██████████| 63/63 [00:14 all 1000 10692 0.45 0.287 0.268 0.169 car 1000 10151 0.543 0.424 0.425 0.243 bus 1000 149 0.351 0.262 0.2 0.147 truck 1000 392 0.455 0.173 0.18 0.118 Speed: 0.1ms preprocess, 3.6ms inference, 0.0ms loss, 1.2ms postprocess per image Results saved to runs\detect\val
Out[18]:
array([ 0.24304, 0.14689, 0.11841])
Option 2 : CLI
In [20]:
# !yolo task=detect mode=val model=runs/detect/train2/weights/best.pt data= datasets/data.yaml
6. Load Custom Model and Make Detections with Images, and Videos¶
In [17]:
# Load Model
model = YOLO("runs/detect/train9/weights/best.pt")
In [18]:
img ='b3c939e3-61fb6427.jpg'
In [19]:
results = model.predict(source=img, conf=0.5 , show = True)
cv2.waitKey(50000)
cv2.destroyAllWindows()
image 1/1 I:\Proposel\CV\CUSTOM_VEHICLE_DETECTION\using_yolo\b3c939e3-61fb6427.jpg: 192x320 6 cars, 15.6ms Speed: 0.0ms preprocess, 15.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320)
In [20]:
#Get The BBOXES from results
bboxes = results[0].boxes.xyxy.tolist() # you can get any formate result.boxes.... 'xyxy,xywh,...'
print(bboxes)
[[291.7354736328125, 316.46673583984375, 459.7440185546875, 432.67449951171875], [805.6368408203125, 331.0543212890625, 1032.9127197265625, 464.55865478515625], [1125.233642578125, 365.083251953125, 1279.014892578125, 630.2391357421875], [545.8802490234375, 322.3106689453125, 656.2972412109375, 423.4154052734375], [675.65478515625, 332.39080810546875, 775.825439453125, 401.69146728515625], [468.337158203125, 339.1298828125, 534.6731567382812, 381.5062255859375]]
In [21]:
# With Matplotlib
import matplotlib.pyplot as plt
import matplotlib.patches as patches
%matplotlib inline
image = plt.imread(img)
# Create a figure and axis
fig, ax = plt.subplots()
ax.imshow(image)
# Loop over the bboxes and draw them on the image
for bbox in bboxes:
x1, y1, x2, y2 = bbox
rect = patches.Rectangle((x1, y1), x2 - x1, y2 - y1, linewidth=1, edgecolor='r', facecolor='none')
ax.add_patch(rect)
# Show the image with bboxes
plt.show()
In [22]:
# With Open CV
# Load the image
image = cv2.imread(img)
# Convert the image tensor to a numpy array
image = np.array(image)
# Loop over the bboxes and draw them on the image
for bbox in bboxes:
x1, y1, x2, y2 = bbox
x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) # convert bbox coordinates to integers
image = cv2.rectangle(image, (x1, y1), (x2, y2), (0, 0,255), 1) # draw bbox on the image
# Display the image with bboxes
cv2.imshow('Image with Bboxes', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
In [23]:
cap = cv2.VideoCapture('video11.mp4')
screen_width = 640
screen_height = 480
while cap.isOpened():
ret, frame = cap.read()
frame = cv2.resize(frame, (screen_width, screen_height))
# Make detections
results = model.predict(source=frame, conf=0.5,show = True) # You can disable show = False
bboxes = results[0].boxes.xyxy.tolist() # you can get any formate result.boxes.... 'xyxy,xywh,...'
# Loop over the bboxes and draw them on the image
for bbox in bboxes:
x1, y1, x2, y2 = bbox
x1, y1, x2, y2 = int(x1), int(y1), int(x2), int(y2) # convert bbox coordinates to integers
frame = cv2.rectangle(frame, (x1, y1), (x2, y2), (0, 0,255), 1) # draw bbox on the image
cv2.imshow('YOLO', frame)
if cv2.waitKey(10) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
0: 256x320 3 cars, 58.1ms Speed: 1.0ms preprocess, 58.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 61.3ms Speed: 1.0ms preprocess, 61.3ms inference, 4.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 63.0ms Speed: 0.0ms preprocess, 63.0ms inference, 1.1ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 56.9ms Speed: 0.0ms preprocess, 56.9ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 56.3ms Speed: 0.0ms preprocess, 56.3ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.3ms Speed: 0.0ms preprocess, 17.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.8ms Speed: 0.0ms preprocess, 15.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 16.6ms Speed: 0.0ms preprocess, 16.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 16.7ms Speed: 0.0ms preprocess, 16.7ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 16.4ms Speed: 0.0ms preprocess, 16.4ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 5 cars, 17.1ms Speed: 0.0ms preprocess, 17.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.1ms Speed: 0.0ms preprocess, 17.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 16.9ms Speed: 0.0ms preprocess, 16.9ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.6ms Speed: 0.0ms preprocess, 16.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.8ms Speed: 0.0ms preprocess, 17.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.8ms Speed: 0.0ms preprocess, 16.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.0ms Speed: 0.0ms preprocess, 17.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 14.8ms Speed: 1.0ms preprocess, 14.8ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.4ms Speed: 0.0ms preprocess, 17.4ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.2ms Speed: 0.0ms preprocess, 17.2ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 17.1ms Speed: 0.0ms preprocess, 17.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.5ms Speed: 0.0ms preprocess, 16.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.6ms Speed: 0.0ms preprocess, 15.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.7ms Speed: 0.0ms preprocess, 17.7ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.5ms Speed: 0.0ms preprocess, 16.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.7ms Speed: 0.0ms preprocess, 16.7ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.3ms Speed: 0.0ms preprocess, 17.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.6ms Speed: 0.0ms preprocess, 17.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.0ms Speed: 0.0ms preprocess, 17.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 17.2ms Speed: 0.0ms preprocess, 17.2ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.9ms Speed: 0.0ms preprocess, 16.9ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.1ms Speed: 0.0ms preprocess, 17.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 16.7ms Speed: 0.0ms preprocess, 16.7ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 16.9ms Speed: 0.0ms preprocess, 16.9ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.2ms Speed: 0.0ms preprocess, 17.2ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 19.6ms Speed: 0.0ms preprocess, 19.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 22.0ms Speed: 0.0ms preprocess, 22.0ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.5ms Speed: 0.0ms preprocess, 15.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 21.5ms Speed: 0.0ms preprocess, 21.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.5ms Speed: 0.0ms preprocess, 15.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.5ms Speed: 0.0ms preprocess, 15.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.5ms Speed: 0.0ms preprocess, 17.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.3ms Speed: 0.0ms preprocess, 17.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.0ms Speed: 0.0ms preprocess, 17.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.5ms Speed: 0.0ms preprocess, 16.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.6ms Speed: 0.0ms preprocess, 16.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.3ms Speed: 0.0ms preprocess, 15.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.7ms Speed: 0.0ms preprocess, 17.7ms inference, 11.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.0ms Speed: 0.0ms preprocess, 17.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.4ms Speed: 0.0ms preprocess, 17.4ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.3ms Speed: 0.0ms preprocess, 16.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 18.3ms Speed: 0.0ms preprocess, 18.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 20.5ms Speed: 0.0ms preprocess, 20.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.7ms Speed: 0.0ms preprocess, 17.7ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 16.8ms Speed: 0.0ms preprocess, 16.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 21.5ms Speed: 0.0ms preprocess, 21.5ms inference, 6.7ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 15.0ms Speed: 0.0ms preprocess, 15.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 17.9ms Speed: 0.0ms preprocess, 17.9ms inference, 12.9ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 16.5ms Speed: 0.0ms preprocess, 16.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.1ms Speed: 0.0ms preprocess, 17.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.3ms Speed: 0.0ms preprocess, 16.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.1ms Speed: 0.0ms preprocess, 17.1ms inference, 11.3ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.1ms Speed: 0.0ms preprocess, 16.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 18.0ms Speed: 0.0ms preprocess, 18.0ms inference, 10.4ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.0ms Speed: 0.0ms preprocess, 16.0ms inference, 11.5ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.1ms Speed: 0.0ms preprocess, 17.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 14.2ms
Speed: 0.0ms preprocess, 14.2ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 14.6ms Speed: 0.0ms preprocess, 14.6ms inference, 14.9ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.1ms Speed: 0.0ms preprocess, 17.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.8ms Speed: 0.0ms preprocess, 16.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.3ms Speed: 0.0ms preprocess, 17.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.3ms Speed: 0.0ms preprocess, 17.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 19.4ms Speed: 0.0ms preprocess, 19.4ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 17.0ms Speed: 0.0ms preprocess, 17.0ms inference, 13.1ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 15.9ms Speed: 0.0ms preprocess, 15.9ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 16.4ms Speed: 0.0ms preprocess, 16.4ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 15.9ms Speed: 0.0ms preprocess, 15.9ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.7ms Speed: 0.0ms preprocess, 16.7ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.0ms Speed: 0.0ms preprocess, 16.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.0ms Speed: 0.0ms preprocess, 17.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.2ms Speed: 0.0ms preprocess, 17.2ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.9ms Speed: 0.0ms preprocess, 16.9ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.2ms Speed: 0.0ms preprocess, 17.2ms inference, 13.1ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.8ms Speed: 0.0ms preprocess, 16.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.3ms Speed: 0.0ms preprocess, 17.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.0ms Speed: 0.0ms preprocess, 16.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 16.4ms Speed: 0.0ms preprocess, 16.4ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 17.2ms Speed: 0.0ms preprocess, 17.2ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 17.4ms Speed: 0.0ms preprocess, 17.4ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 5 cars, 16.1ms Speed: 0.0ms preprocess, 16.1ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 5 cars, 16.4ms Speed: 0.0ms preprocess, 16.4ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 8.0ms Speed: 0.0ms preprocess, 8.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.9ms Speed: 1.0ms preprocess, 17.9ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.7ms Speed: 1.0ms preprocess, 17.7ms inference, 2.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.6ms Speed: 0.0ms preprocess, 15.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.6ms Speed: 0.0ms preprocess, 15.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.5ms Speed: 0.0ms preprocess, 15.5ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 15.6ms Speed: 0.0ms preprocess, 15.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 26.3ms Speed: 0.0ms preprocess, 26.3ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 17.6ms Speed: 0.0ms preprocess, 17.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 27.2ms Speed: 0.0ms preprocess, 27.2ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.7ms Speed: 0.0ms preprocess, 16.7ms inference, 2.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 40.3ms Speed: 0.0ms preprocess, 40.3ms inference, 8.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 30.2ms Speed: 0.0ms preprocess, 30.2ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 30.2ms Speed: 0.0ms preprocess, 30.2ms inference, 5.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.1ms Speed: 0.0ms preprocess, 16.1ms inference, 13.6ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 29.7ms Speed: 0.0ms preprocess, 29.7ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 4 cars, 19.6ms Speed: 11.2ms preprocess, 19.6ms inference, 4.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 27.7ms Speed: 0.0ms preprocess, 27.7ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 22.3ms Speed: 0.0ms preprocess, 22.3ms inference, 4.7ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 16.6ms Speed: 0.0ms preprocess, 16.6ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 22.0ms Speed: 0.0ms preprocess, 22.0ms inference, 3.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 3 cars, 14.3ms Speed: 0.0ms preprocess, 14.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 15.4ms Speed: 0.0ms preprocess, 15.4ms inference, 11.9ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 17.3ms Speed: 0.0ms preprocess, 17.3ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 17.8ms Speed: 0.0ms preprocess, 17.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 17.7ms Speed: 0.0ms preprocess, 17.7ms inference, 12.1ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 17.7ms Speed: 0.0ms preprocess, 17.7ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 18.1ms Speed: 0.0ms preprocess, 18.1ms inference, 12.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 17.9ms Speed: 0.0ms preprocess, 17.9ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 19.0ms Speed: 0.0ms preprocess, 19.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 17.2ms Speed: 0.0ms preprocess, 17.2ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 20.8ms Speed: 0.0ms preprocess, 20.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 16.9ms Speed: 0.0ms preprocess, 16.9ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 19.0ms Speed: 0.0ms preprocess, 19.0ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 17.7ms Speed: 0.0ms preprocess, 17.7ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 29.2ms Speed: 0.0ms preprocess, 29.2ms inference, 2.0ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 18.9ms Speed: 0.0ms preprocess, 18.9ms inference, 9.8ms postprocess per image at shape (1, 3, 320, 320) 0: 256x320 2 cars, 16.8ms Speed: 0.0ms preprocess, 16.8ms inference, 0.0ms postprocess per image at shape (1, 3, 320, 320)
Results¶
val_batch0_labels
val_batch0_pred
val_batch1_labels
val_batch1_pred
val_batch2_labels
val_batch2_pred
In [ ]: